package com.flow.dao;

import java.io.Serializable;
import java.util.List;
import org.hibernate.LockMode;

import com.flow.model.PagerModel;
import com.flow.model.UserRole;

/**
 * 用户橘色Dao接口
 * @author wang
 * @2015-12-25
 * IUserRoleDao.java
 * @param <T>
 *
 */
@SuppressWarnings("all")
public interface IUserRoleDao<T> extends IBaseDao<T> {

	public boolean insertUserRole(UserRole userRole);

	public boolean updateUserRole(UserRole userRole);
	
	public boolean deleteUserRole(UserRole userRole);
	
	public UserRole findUserRoleByHql(String hql);

	public UserRole findUserRoleByHql(String hql, Object param);

	public UserRole findUserRoleByHql(String hql, List<Object> params);

	public int universalMethodUserRole(String hql);
	
	public int universalMethodUserRole(String hql, Object param);
	
	public int universalMethodUserRole(String hql, List<Object> params);
	
	public List<T> findUserRoleAllByHql(String hql);

	public List<T> findUserRoleAllByHql(String hql, Object param);

	public List<T> findUserRoleAllByHql(String hql, List<Object> params);

	public PagerModel findUserRolePagerModeled(PagerModel pager, String hql);
	
	public PagerModel findUserRolePagerModeled(PagerModel pager, String hql, Object param);
	
	public PagerModel findUserRolePagerModeled(PagerModel pager, String hql, List<Object> params);
	
}
